<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <script>
        //定义一个数组
        var arr = [1, 2, 3, 4, 1, 1, 1, 3, 4, 5, 6]
            // 分析我们一眼可以看出结果为[1,2,3,4,5,6]
            // 使用数组的fliter方法,
            // 我们知道回调函数三个形参对应的(数组元素,数组元素的索引,当前数组)
            // arr.filter(function(item, index, arr) {
            //     console.log(item + '---' + index + '---' + arr);
            /*通过打印我们得知
                                1               0           当前数组
                                2               1           当前数组
                                3               2           当前数组
                                4               3           当前数组
                                1               4           当前数组
                                1               5           当前数组
                                1               6           当前数组
                                3               7           当前数组
                                .               .           当前数组 
                                .               .           当前数组 
                                .               .           当前数组 
                                .               .           当前数组 */
            // })
        var newArr = arr.filter(function(item, index, arr) {
            // return 出的结果是一个数组 filter方法的返回值是一个数组
            // indexOf方法的结果是索引 0 1 2 3 会和当前的遍历索引比较 
            // 如果相等就将结果返回 就会将这一项数组元素放到新数组中
            return arr.indexOf(item) === index;
        })
        console.log(newArr);
    </script>
</body>

</html>